#ifndef _ACTION_H
#define _ACTION_H

#include <string>

#include "event.h"

typedef int ActionID;

class Action
{
  public:
    Action();
    Action(ActionID id,Event event,std::string name="",bool conf=false);
    ~Action();

    ActionID getActionID()const;
    Event getEvent()const;
    std::string getName()const;
    bool isConfigurable()const;
    void setActionID(ActionID id);
    void setEvent(Event& event);
    void setName(std::string& name);
    void setConfigurable(bool conf);

    bool operator==(const Action &a);
    bool operator!=(const Action &a);

  protected:
    ActionID m_id;
    Event m_event;
    std::string m_name;
    bool m_configurable;
};

#endif
